function dst = algo_distance_gpscalculate(data1,data2)
    
    EARTH_RADIUS = 6371000;
    M_PI = 3.14159265358979323846;
    latitude1 = data1(1);
    latitude1 = latitude1 - 31;
    latitude1 = latitude1*1.66666666667;
    latitude1 = 31 + latitude1;

    longitude1 = data1(2);
    longitude1 = longitude1 - 117;
    longitude1 = longitude1*1.66666666667;
    longitude1 = 117 + longitude1;
    
    latitude2 = data2(1);
    latitude2 = latitude2 - 31;
    latitude2 = latitude2*1.66666666667;
    latitude2 = 31 + latitude2;

    longitude2 = data2(2);
    longitude2 = longitude2 - 117;
    longitude2 = longitude2*1.66666666667;
    longitude2 = 117 + longitude2;
    
    radLat1 = latitude1*M_PI/180;
    radLat2 = latitude2*M_PI/180;
    a = radLat1 - radLat2;
    b = (longitude1 - longitude2)*M_PI/180;
    dst = 2 * asin((sqrt(sin(a / 2)^2 + cos(radLat1) * cos(radLat2) * sin(b / 2)^2)));

    dst = dst * EARTH_RADIUS;
    if (dst < 0)
        dst = -dst;
    end

end